package top.tenebrous.yzl.im.annotation;

import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;

import java.lang.annotation.*;

/**
 * 自动配置聊天记录设置
 *
 * @author yazhang6
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface AutoConfigChatRecord {

    /**
     * 是否异步获取聊天记录 默认否
     */
    boolean enableAsync() default false;

    /**
     * 自定义异步线程池
     * 如果不指定线程池，将使用默认线程池进行异步加载
     */
    String threadPool() default "yzlImThreadPoolScheduler";

    /**
     * 自定义异步线程池
     * 如果不指定线程池，将使用默认线程池进行异步加载
     */
    Class<ThreadPoolTaskExecutor> threadPoolClass();

    /**
     * 是否本地文件存储
     *
     */
    boolean enableLocalStorage() default false;

    /**
     * 本地文件存储路径
     * 若打开了本地存储，但是未设置存储路径
     * 则使用默认路径进行存储
     *
     */
    String localStoragePath() default "";

}
